<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>

<title>
PRISM Manual | InstallingPRISM / AllOnOnePage 
</title>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="prism, probabilistic, symbolic, model, checker, verification, birmingham, oxford, parker, norman, kwiatkowska">

<link rel="icon" href="../pub/skins/offline/images/p16.ico" type="image/x-icon">
<link rel="shortcut icon" href="../pub/skins/offline/images/p16.ico" type="image/x-icon">

<!--HTMLHeader--><style type='text/css'><!--
  ul, ol, pre, dl, p { margin-top:0px; margin-bottom:0px; }
  code.escaped { white-space: nowrap; }
  .vspace { margin-top:1.33em; }
  .indent { margin-left:40px; }
  .outdent { margin-left:40px; text-indent:-40px; }
  a.createlinktext { text-decoration:none; border-bottom:1px dotted gray; }
  a.createlink { text-decoration:none; position:relative; top:-0.5em;
    font-weight:bold; font-size:smaller; border-bottom:none; }
  img { border:0px; }
  .editconflict { color:green; 
  font-style:italic; margin-top:1.33em; margin-bottom:1.33em; }

  table.markup { border:2px dotted #ccf; width:90%; }
  td.markup1, td.markup2 { padding-left:10px; padding-right:10px; }
  table.vert td.markup1 { border-bottom:1px solid #ccf; }
  table.horiz td.markup1 { width:23em; border-right:1px solid #ccf; }
  table.markup caption { text-align:left; }
  div.faq p, div.faq pre { margin-left:2em; }
  div.faq p.question { margin:1em 0 0.75em 0; font-weight:bold; }
  div.faqtoc div.faq * { display:none; }
  div.faqtoc div.faq p.question 
    { display:block; font-weight:normal; margin:0.5em 0 0.5em 20px; line-height:normal; }
  div.faqtoc div.faq p.question * { display:inline; }
   
    .frame 
      { border:1px solid #cccccc; padding:4px; background-color:#f9f9f9; }
    .lfloat { float:left; margin-right:0.5em; }
    .rfloat { float:right; margin-left:0.5em; }
a.varlink { text-decoration:none; }

.sourceblocklink {
  text-align: right;
  font-size: smaller;
}
.sourceblocktext {
  padding: 0.5em;
  border: 1px solid #808080;
  color: #000000;
  background-color: #f1f0ed;
}
.sourceblocktext div {
  font-family: monospace;
  font-size: small;
  line-height: 1;
  height: 1%;
}
.sourceblocktext div.head,
.sourceblocktext div.foot {
  font: italic medium serif;
  padding: 0.5em;
}

--></style>  <meta name='robots' content='index,follow' />


<link type="text/css" rel="stylesheet" href="../pub/skins/offline/css/base.css">
<link type="text/css" rel="stylesheet" href="../pub/skins/offline/css/prism.css">
<link type="text/css" rel="stylesheet" href="../pub/skins/offline/css/prismmanual.css">

</head>

<body text="#000000" bgcolor="#ffffff">

<div id="layout-maincontainer">
<div id="layout-main">

<div id="prism-mainbox">

<!-- ============================================================================= -->

<!--PageHeaderFmt-->
<!--/PageHeaderFmt-->

<!--PageTitleFmt--><!--PageText-->
<div id='wikitext'>
<div class='vspace'></div><h1><span class='big'>Installing PRISM</span></h1>
<hr />
<h1>Instructions</h1>
<h3>Prerequisites</h3>
<p>PRISM is known to run on Linux, Windows, Mac OS X and Solaris, including 64-bit variants of these operating systems.
</p>
<p class='vspace'>You will need <strong>Java</strong>, more specifically the <a class='urllink' href='http://www.oracle.com/technetwork/java/javase/downloads/index.html'>Oracle</a> (formerly Sun) version. To run binary versions of PRISM, you only need the Java Runtime Environment (JRE), not the full Java Development Kit (JDK). Currently, Java 6 (sometimes also called version 1.6) or above is required. If you don't know what version of Java you have, type <code>java -version</code> from a command prompt.
</p>
<p class='vspace'>To compile PRISM from source, you need the Java Development Kit (JDK), GNU make and a C/C++ compiler (e.g. gcc/g++). For compilation under Windows, you will need Cygwin. See below for more information.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='windows' id='windows'></a>
</p><h3>Installation on Windows (32-bit)</h3>
<p>To install PRISM on Windows, just run the self-extracting installer which you <a class='urllink' href='http://www.prismmodelchecker.org/download.php'>downloaded</a>. You do <strong>not</strong> need administrator privileges for this, just write-access to the directory chosen for installation.
</p>
<p class='vspace'>If requested, the installer will place shortcuts to run PRISM on the desktop and/or start menu. If not, you can run by PRISM double-clicking the file <code>xprism.bat</code> (which may just appear as <code>xprism</code>) in the <code>bin</code> folder of your PRISM folder. If nothing happens, the most likely explanation is that Java is not installed or not in your path. To check, open a command prompt window, navigate to the PRISM directory, type <code>cd bin</code>, then <code>xprism.bat</code> and examine the resulting error. If you want to create shortcuts to <code>xprism.bat</code> manually, you will find some PRISM icons in the <code>etc</code> folder.
</p>
<p class='vspace'>If you wish to use the command-line version of PRISM on Windows, open a command prompt window and type for example:
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock1'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">cd "c:\Program Files\prism-4.0-win\bin"</span><br/>
<span style="font-weight:bold;">prism ..\examples\dice\dice.pm</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=1' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>
    
<p class='vspace'>You can also edit the file <code>bin\prism.bat</code> to allow it to be run from any location. See the instructions within the file for further details.
</p>
<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'>
</p><h3>Installation on Windows (64-bit)</h3>
<p>PRISM is known to run on 64-bit versions of Windows. Since we currently only provide 32-bit binary versions, you will need to install and use a 32-bit, rather than 64-bit version of Java. If not, you may see strange error messages like "<code>Can't load IA 32-bit .dll on a AMD 64-bit platform</code>".
</p>
<p class='vspace'>You will probably also need to update <code>bin\xprism.bat</code> (and <code>bin\prism.bat</code>, if you use it), changing <code>javaw</code> on the last line to include the full path to the 32-bit executable.
</p>
<p class='vspace'>Other than this, installing and running PRISM is as for the 32-bit case described above.
</p>
<p class='vspace'>If this is not possible for some reason, an alternative is to build PRISM from source using Cygwin (See below).
</p>
<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='binaries' id='binaries'></a>
</p><h3>Installation of (non-Windows) binary versions</h3>
<p>To ensure compatibility, we recommend that you compile PRISM from source on non-Windows platforms. See below for instructions. However, we do <a class='urllink' href='http://www.prismmodelchecker.org/download.php'>provide</a> pre-compiled binary distributions for Linux (32-bit) and, depending on availability, other operating systems such as Mac OS X and Solaris.
</p>
<p class='vspace'>To install a binary distribution, unpack the tarred/zipped PRISM distribution into a suitable location, enter the directory and run the <code>install.sh</code> script, e.g.:
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock2'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">gunzip prism-4.0-linux.tar.gz</span><br/>
<span style="font-weight:bold;">tar xf prism-4.0-linux.tar</span><br/>
<span style="font-weight:bold;">cd prism-4.0-linux</span><br/>
<span style="font-weight:bold;">./install.sh</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=2' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'>You do not need to be root to install PRISM. The install script simply makes some small customisations to the scripts used to launch PRISM. The PRISM distribution is self-contained and can be freely moved/renamed, however if you do so you will need to re-run <code>./install.sh</code> afterwards.
</p>
<p class='vspace'>To run PRISM, execute either the <code>xprism</code> or <code>prism</code> script (for the graphical user interface or command-line version, respectively). These can be found in the <code>bin</code> directory. These scripts are designed to be run from anywhere and you can easily create symbolic links or aliases to them. If you want icons to create desktop shortcuts to PRISM, you can find some in the <code>etc</code> directory.
</p>
<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='source' id='source'></a>
</p><h3>Building PRISM from source</h3>
<p>To compile PRISM form source code, you will need:
</p>
<div class='vspace'></div><ul><li>GNU make (sometimes called gmake)
</li><li>a C/C++ compiler (e.g. gcc/g++)
</li><li>The <a class='urllink' href='http://www.oracle.com/technetwork/java/javase/downloads/index.html'>Java Development Kit</a> (JDK) from Oracle (formerly Sun), version 5.0 (sometimes called 1.5) or higher
</li></ul><p class='vspace'>To check what version of Java you have, type <code>java -version</code>. To check that you have the development kit, type <code>javac</code>. If you get an error message that <code>javac</code> cannot be found, you probably do not have the JDK installed (or your path is not set up correctly).
</p>
<p class='vspace'>Hopefully, you can build PRISM simply by entering the PRISM directory and running <code>make</code>, e.g.:
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock3'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">gunzip prism-4.0-src.tar.gz</span><br/>
<span style="font-weight:bold;">tar xf prism-4.0-src.tar</span><br/>
<span style="font-weight:bold;">cd prism-4.0-src</span><br/>
<span style="font-weight:bold;">make</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=3' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'>For this process to complete correctly, PRISM needs to be able to determine both the operating system you are using and the location of your Java distribution. If there is a problem with either of these, you will see an error message and will need to specify one or both of these manually, such as in these examples:
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock4'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">make OSTYPE=linux</span><br/>
<span style="font-weight:bold;">make JAVA_DIR=/usr/java/jdk1.5.0</span><br/>
<span style="font-weight:bold;">make OSTYPE=cygwin JAVA_DIR="/cygdrive/c/Program Files/Java/jdk1.5.0"</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=4' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'>Note the use of double quotes for the case where the directory contains a space. If you don't know the location of your Java installation, try typing <code>which javac</code>. If the result is e.g. <code>/usr/java/jdk1.5.0/bin/javac</code> then your Java directory is <code>/usr/java/jdk1.5.0</code>. Sometimes <code>javac</code> will be a symbolic link, in which case use "<code>ls -l</code>" to determine the actual location.
</p>
<p class='vspace'>It is also possible to to set the environment variables <code>OSTYPE</code> and <code>JAVA_DIR</code> directly or edit their values in the Makefile directly. Note that even when you specify <code>JAVA_DIR</code> explicitly (in either way), PRISM still uses the versions of <code>javac</code> (and <code>javah</code>) that are in your path so make sure this is set up correctly.
</p>
<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='on64bit' id='on64bit'></a>
</p><h3>Building PRISM on 64-bit machines</h3>
<p>PRISM has also been successfully compiled under Linux on a variety of 64-bit architectures. In general this should work exactly as described above. The Makefile will try to detect that you are compiling on a 64-bit machine but, if this does not work for some reason, you can override detection by setting <code>ARCH</code> to either <code>amd64</code> (for AMD/Intel 64) or <code>ia64</code> (for Itanium). For example:
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock5'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">make ARCH=amd64</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=5' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'>For 64-bit Macs, see below.
</p>
<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='macs' id='macs'></a>
</p><h3>Building PRISM on Macs</h3>
<p>In most cases, you should be able to build PRISM from source under Mac OS X using the instructions given above. There are, however, a few known issues to be aware of.
</p>
<p class='vspace'>The most common problem is when building on recent 64-bit Macs, under which PRISM has some issues with Java. The best advice, currently, is to compile and run a 32-bit version of PRISM. To do this:
</p>
<div class='vspace'></div><ol><li>Make sure you are using a 32-bit version of Java (e.g. through "Java Preferences" under /Applications/Utilities).
<div class='vspace'></div></li><li>Make sure you have the very latest version of PRISM <a class='urllink' href='http://www.prismmodelchecker.org/download.php'>available</a>.
<div class='vspace'></div></li><li>Build PRISM (as above).
</li></ol><p class='vspace'>If this still does not work, it may be that PRISM is detecting automatically that you are on a 64-bit machine. You can override this as follows:
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock6'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">make clean_all</span><br/>
<span style="font-weight:bold;">make ARCH=</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=6' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='cygwin' id='cygwin'></a>
</p><h3>Building PRISM from source on Windows using Cygwin</h3>
<p>The compilation of PRISM currently relies on a Unix-like environment. On Windows, this can be achieved using the <a class='urllink' href='http://www.cygwin.com/'>Cygwin</a> development environment (or alternatively using <a class='urllink' href='http://www.mingw.org/'>MSYS</a>). Once Cygwin is installed, you can proceed as described in the previous section. Note that the PRISM compilation process uses the <a class='urllink' href='http://www.mingw.org/'>MinGW</a> libraries so that the final result is independent of Cygwin at run-time.
</p>
<p class='vspace'>One thing to note: please unzip the PRISM distribution from within Cygwin (e.g. using <code>tar xfz prism-XXX-src.tar.gz</code>). Don't use a Windows program (Winzip, etc.) since this can cause problems.
</p>
<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p>
<div class='vspace'></div><hr />
<p class='vspace'><a name='msys' id='msys'></a>
</p><h3>Building PRISM from source on Windows using MSYS</h3>
<p>Compiling from source in <a class='urllink' href='http://www.mingw.org/'>MSYS</a> is less obvious as this environment is currently not directly supported in the makefile. Additionally, MSYS does not handle symlinks in the same way as cygwin does. The first problem is fixed by providing a OSTYPE variable to the makefile, whereas the second problem currently has to be solved manually.
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock7'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">make OSTYPE=cygwin</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=7' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'>At some point it will fail, saying that it cannot find the CUDD library, this is due to the failing symlinks. We can solve this by means of a few commands: 
</p>
<div class='vspace'></div>
<div class='sourceblock ' id='sourceblock8'>
  <div class='sourceblocktext'><div class="shell"><span style="font-weight:bold;">cd cudd/</span><br/>
<span style="font-weight:bold;">rmdir lib/ </span><br/>
<span style="font-weight:bold;">./setup.sh</span><br/>
<span style="font-weight:bold;">cd ..</span><br/>
<span style="font-weight:bold;">make OSTYPE=cygwin </span><br/>
<span style="font-weight:bold;">./install.sh</span><br/>
</div></div>
  <div class='sourceblocklink'><a href='AllOnOnePage@action=sourceblock&amp;num=8' type='text/plain'>[&#036;[Get Code]]</a></div>
</div>

<p class='vspace'><strong>Problems?</strong> See the section "<a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>''.
</p><hr />
<h1>Common Problems And Questions</h1>
<p>This section describes some of the most common problems and questions related to the installation and running of PRISM. These are grouped into the following categories:
</p>
<div class='vspace'></div><ul><li>Running PRISM on Windows
</li><li>Running PRISM on non-Windows platforms
</li><li>Compiling PRISM
</li><li>Other issues
</li></ul><div class='vspace'></div><hr />
<div class='vspace'></div><h2>Running PRISM on Windows</h2>
<p><strong>When I try to run PRISM on Windows, I double-click the PRISM shortcut but nothing happens.</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>The most common cause of this is that you either do not have Java installed or the <code>java</code> executable is not in your path. In any case, to determine the exact problem, launch a command shell and navigate to the <code>bin</code> directory inside the directory where you installed PRISM (you can use the "PRISM (console)" shortcut installed in the start menu to do this). Then, type <code>xprism.bat</code> and see what error message is displayed.
</p></div>
<div class='vspace'></div><hr />
<div class='vspace'></div><h2>Running PRISM on non-Windows platforms</h2>
<p><strong>When I try to run PRISM, I get an error of the form:<br /><code>Exception in thread "main" java.lang.NoClassDefFoundError: ...</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Check:
</p><ul><li>Did you run <code>install.sh</code> from the PRISM directory? (non-Windows platforms)
</li><li>If you compiled PRISM from source code, are you sure no errors occurred during the process? To check, go into the PRISM directory, type <code>make clean_all</code> and then re-compile, checking the output (especially at the end) carefully for any error messages.
</li></ul></div>
<p class='vspace'><strong>When I try to run PRISM, I get an error of the form:<br /><code>java.lang.UnsatisfiedLinkError: no prism in java.library.path</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Check:
</p><ul><li>Did you run <code>install.sh</code> from the PRISM directory? (non-Windows platforms)
</li><li>If you compiled PRISM from source code, are you sure no errors occurred during the process? To check, go into the PRISM directory, type <code>make clean_all</code> and then re-compile, checking the output (especially at the end) carefully for any error messages.
</li></ul><p class='vspace'>Are you on a 64-bit machine? If so, make sure that you are running 64-bit versions of <code>java</code> and <code>javac</code>. (Look for "<code>64-Bit Server VM</code>" in the output of <code>java -version</code>).
</p></div>
<p class='vspace'><strong>When I try to run PRISM, I get an error of the form:<br /><code>Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Your version of Java is too old. Update or install a newer version of <a class='urllink' href='http://www.oracle.com/technetwork/java/javase/downloads/index.html'>Oracle</a>  Java and then try again.
</p></div>
<p class='vspace'><strong>When I try to run a (Linux) binary version of PRISM, I get an error saying that <code>libstdc++.so.5 cannot be found</code> or <code>libstdc++.so.6 cannot be found</code>.</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>This is usually due to a discrepancy between the version of Linux that was used to build the binary distribution and the version that you are using to run it.
</p>
<p class='vspace'>If the error message is about <code>libstdc++.so.5</code>, you will just need to install an old version of the <code>libstdc++</code> library. This should be quite easy to find for most Linux distributions. On Fedora Core, for example, just type: <code>yum install compat-libstdc++-33</code> as root.
</p>
<p class='vspace'>If the error message is about <code>libstdc++.so.6</code>, you are running an older version of Linux than the binary release was compiled for. The easiest solution is to compile PRISM yourself from the source code version instead.
</p></div>
<p class='vspace'><strong>When I try to run PRISM, I get an error of the form:<br /><code>Exception in thread "main" java.lang.ExceptionInInitializerError<br />   at java.lang.Class.initializeClass(libgcj.so.7)<br />   at prism.PrismSettings.&lt;init&gt;(PrismSettings.java:297)</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>You are not running the <a class='urllink' href='http://www.oracle.com/technetwork/java/javase/downloads/index.html'>Oracle</a> version of Java. You will need to install it.
</p></div>
<p class='vspace'><strong>When I try to run PRISM, I get an error of the form:<br /><code>java.lang.UnsatisfiedLinkError: libprism: ... cannot restore segment prot after reloc: Permission denied</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>This is likely to be caused by the default settings of <a class='urllink' href='http://www.nsa.gov/selinux/'>SELinux</a> on newer versions of Linux. Open up the "Security Level Configuration" (on Fedora, for example, this is found under "Administration | Security Level and Firewall" under the main menu or by running <code>system-config-securitylevel</code>). Look in the "Compatibility" section of the SELinux Policy settings and make sure "Allow the use of shared libraries with Text Relocation" is ticked. You may need to reboot for changes to take effect.
</p></div>
<p class='vspace'><strong>Do I have to use <a class='urllink' href='http://www.oracle.com/technetwork/java/javase/downloads/index.html'>Oracle</a>'s version of Java to build/run PRISM?</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Currently, this seems to be the case. We will aim to address this in the future.
</p></div>
<div class='vspace'></div><hr />
<div class='vspace'></div><h2>Compiling PRISM</h2>
<p><strong>When I try to compile PRISM, <code>make</code> seems to get stuck in an infinite loop</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>This is probably due to the detection of Java failing. Specify the location of your Java directory by hand, e.g. <code>make JAVA_DIR=/usr/java/jdk1.6.0</code>. See the <a class='wikilink' href='Instructions.html'>Instructions</a> page for more on this.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, I get errors of the form:<br /><code>/usr/bin/libtool: for architecture: cputype (16777234) cpusubtype (0) file: -lSystem is not an object file (not allowed in a library)</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Are you compiling PRISM on Max OS X? If so, the likely explanation is that you have upgraded to a new version of Mac OS X but have not upgraded the developer tools (eg. XCode). Upgrade and try again.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, nothing seems to happen</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Perhaps you are not using the GNU version of <code>make</code>. Try typing <code>make -v</code> to find out. On some systems, GNU make is called <code>gmake</code>.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, I get errors of the form:<br /><code>Unexpected end of line seen...</code><br />or:<br /><code>make: Fatal error in reader: Makefile, line 58: Unexpected end of line seen...</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Perhaps you are not using the GNU version of <code>make</code>. Try typing <code>make -v</code> to find out. On some systems, GNU make is called <code>gmake</code>.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, I get an error of the form:<br /><code>./setup.sh: line 33: syntax error: unexpected end of file</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Are you building on Cygwin? And did you unpack PRISM using WinZip? If so, unpack from Cygwin, using <code>tar xfz</code> (or similar) instead.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, I get an error of the form:<br /><code>Assembler messages:  Fatal error: can't create ../../obj/dd/dd_abstr.o: No such file or directory</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Did you unpack PRISM using a graphical tool or file manager? If so, unpack using <code>tar xfz</code> (or similar) instead.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, I get errors of the form:<br /><code>dirname: extra operand `Files/Java/jdk1.6.0_09/bin/javac' Try `dirname --help' for more information.</code></strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>This error occurs if the path to your Java distribution contains a space (a common example is when it is somewhere in "<code>Program Files</code>" on Windows). Hopefully, this will be fixed soon. A workaround is to move the java installation to e.g. <code>C:\java</code>.
</p></div>
<p class='vspace'><strong>When I try to compile PRISM, I get an error of the form:<br /><code>/bin/sh: line 43: [: :/cygdrive/c/Program: binary operator expected</code>...</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>See answer to previous question.
</p></div>
<p class='vspace'><strong>Do I have to use GNU <code>make</code> to build PRISM?</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Strictly speaking, no, but you will have to modify the various PRISM Makefiles manually to overcome this.
</p></div>
<p class='vspace'><strong>Can I build PRISM on operating systems other than those currently supported?</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>PRISM should be suitable for any Unix/Linux variant.
</p>
<p class='vspace'>The first thing you will need to do is compile CUDD (the BDD library used by and included in PRISM) on that platform.
Fortunately, CUDD has already been successfully built on a large number of
operating systems. Have a look at the sample Makefiles we provide (i.e. the
files <code>cudd/Makefile.*</code>) which are slight variants of the original Makefile
provided with CUDD (found here: <code>cudd/modified/orig/Makefile</code>). They contain
instructions on how to modify it for various platforms. You can then call
your new modified makefile something appropriate (<code>cudd/Makefile.$OSTYPE</code>) and
proceed to build PRISM as usual. To just build CUDD, not PRISM, type
<code>make cuddpackage</code> instead of <code>make</code>.
</p>
<p class='vspace'>Next, look at the main PRISM Makefile, in particular, each place where the
variable <code>$OSTYPE</code> is referred to. Most lines include comments and further
instructions. Once you have done this, proceed as usual.
</p>
<p class='vspace'>If you do successfully build PRISM on other platforms, please let us know
so we can include this information in future releases. Thanks.
</p></div>
<div class='vspace'></div><hr />
<div class='vspace'></div><h2>Other issues</h2>
<p><strong>How do I uninstall PRISM?</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>If you installed PRISM on Windows using the self-extracting installer, you can uninstall it using the option on the start menu. If you didn't add these shortcuts, just run <code>uninstall.exe</code> from the directory where you installed PRISM.
</p>
<p class='vspace'>For older versions of PRISM on Windows or on any other platform, simply delete the directory containing it.
</p>
<p class='vspace'>The only thing that is not removed via either of these methods is the <code>.prism</code> file containing your PRISM settings which is in your home directory (see the section "<a class='wikilink' href='../ConfiguringPRISM/Introduction.html'>Configuring PRISM</a>"). You may wish to retain this when upgrading.
</p></div>
<p class='vspace'><strong>I still have a problem installing/running PRISM. What can I do?</strong>
</p>
<div class='vspace'></div><div class='answer' > 
<p>Please post a message in the discussion group (see the <a class='urllink' href='http://www.prismmodelchecker.org/support.php'>support</a> section of the PRISM website).
</p></div>
</div>


<!--PageFooterFmt-->
  <div id='prism-man-footer'>
  </div>
<!--/PageFooterFmt-->


<!-- ============================================================================= -->

</div> <!-- id="prism-mainbox" -->

</div> <!-- id="layout-main" -->
</div> <!-- id="layout-maincontainer" -->

<div id="layout-leftcol">
<div id="prism-navbar2">

<h3><a class='wikilink' href='../Main/Welcome.html'>PRISM Manual</a></h3>
<p><strong><a class='wikilink' href='Instructions.html'>Installing PRISM</a></strong>
</p><ul><li><a class='wikilink' href='Instructions.html'>Instructions</a>
</li><li><a class='wikilink' href='CommonProblemsAndQuestions.html'>Common Problems And Questions</a>
</li></ul><p>[ <a class='selflink' href='AllOnOnePage.html'>View all</a> ]
</p>


</div>  <!-- id="prism-navbar2" -->
</div> <!-- id="layout-leftcol" -->

</body>
</html>
